﻿#region Using Directives

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Csla;

#endregion

namespace MarketPulse.BusinessLogic.Common.Criteria
{
    /// <summary>
    /// Criteria class that allows a User to be uniquely identified.
    /// </summary>
    [Serializable]
    public class EnquiryReasonCriteria : CriteriaBase<EnquiryReasonCriteria>
    {          

        #region Constructors

            /// <summary>
            /// Default constructor for this class
            /// </summary>
            /// <param name="languageGuid">The GUID of the language to associate with this criteria</param>  
            /// <param name="enquiryTypeGuid">The GUID of the enquiry type to associate with this criteria</param>  
            public EnquiryReasonCriteria(Guid languageGuid, Guid enquiryTypeGuid)
            {
                LanguageGuid = languageGuid;
                EnquiryTypeGuid = enquiryTypeGuid;
            }

        #endregion

        #region Properties

            /// <summary>
            /// This is the unique identifier used to identify the language being selected as part of this criteria
            /// </summary>
            public static PropertyInfo<Guid> mLanguageGuidProperty = RegisterProperty<Guid>(p => p.LanguageGuid);
            /// <summary>
            /// This is the unique identifier used to identify the language being selected as part of this criteria
            /// </summary>
            public Guid LanguageGuid
            {
                get { return ReadProperty(mLanguageGuidProperty); }
                private set { LoadProperty(mLanguageGuidProperty, value); }
            }

            /// <summary>
            /// This is the unique identifier used to identify the user being selected as part of this criteria
            /// </summary>
            public static PropertyInfo<Guid> mEnquiryTypeGuidProperty = RegisterProperty<Guid>(p => p.EnquiryTypeGuid);
            /// <summary>
            /// This is the unique identifier used to identify the user being selected as part of this criteria
            /// </summary>
            public Guid EnquiryTypeGuid
            {
                get { return ReadProperty(mEnquiryTypeGuidProperty); }
                private set { LoadProperty(mEnquiryTypeGuidProperty, value); }
            }

        #endregion             

    }
}
